Go Debug
debuggerのDLVを入れる。
go-delve/delve: Delve is a debugger for the Go programming language.
VSCode上では、palletから Go: Install/Update Tools で installできる。
VSCodeで、launch.jsonの設定
"request": "launch" の場合、そのままデフォルトな設定でいけるはず。
Go Air で web serverを hot reloadした状態で、debugしたいけど、
"request": "attach" にした場合、processIdを指定しないといけない。
とりあえず、決め打ちで、airのprocessを指定したが、
Could not attach to pid 24824: this could be caused by a kernel security setting, try writing "0" to /proc/sys/kernel/yama/ptrace_scope
というエラーになる。
/proc/sys/kernel/yama/ptrace_scope は、cat すると 1になってる。
sudo echo > ...でも書き込めない。
c - How to solve "ptrace operation not permitted" when trying to attach GDB to a process? - Stack Overflow
Docker コンテナ上で Go のプロジェクトを delve でデバッグするには ptrace の許可が必要 - Please Sleep
このあたりかもしれないけど、追いきれてない。
goplsを入れる。これはok?
golang/vscode-go: Go extension for VS Code
vscode-goの getting started
language serverを使う設定。 go.useLanguageServer
install gopls